This invention relates to an apparatus and method for processing data.
Data processing frequently involves the evaluation of expressions, formed by combining operand values and operators according to defined rules of syntax. For example, the expression
(A and B) or (not C)
involves operand values A, B and C and logical operators xe2x80x9candxe2x80x9d, xe2x80x9corxe2x80x9d and xe2x80x9cnotxe2x80x9d. The evaluation of an expression returns a result value, which in the above example will be either xe2x80x9ctruexe2x80x9d or xe2x80x9cfalsexe2x80x9d.
Conventionally, each operand value represents the value of some attribute at a particular point in time, and the result represents the result of the evaluation at that point in time. For example, a value may be a numeric value representing a person""s current salary, or may be a string value, representing the person""s current address. However, conventional expression evaluation mechanisms are not well adapted to handle situations where the operand values change over time.
The object of the present invention is to provide a novel apparatus and method for evaluating expressions involving values which change over time.
According to the invention, a data processing method comprises:
(a) providing a plurality of expressions, each expression including a number of temporally-scoped operands; and
(b) evaluating the expressions to produce temporally-scoped results;
(c) wherein each of the temporally-scoped operands and results comprises a sequence of one or more value instances, each value instance including a data item, a start time, and an end time, the start time and end time defining a time span in which the data item is valid.
The invention also includes data processing apparatus for performing this method.